/*
 * PhysicObject.cpp
 *
 *  Created on: 03.10.2012
 *      Author: Caffeine
 */




#include "PhysicObject.h"

namespace irr{
namespace object{

PhysicObject::PhysicObject(){
	PhysicEnabled=false;
}

PhysicObject::~PhysicObject(){
}

/***
 * Устанавливает включить ли физику
 *
 * @param value если TRUE, то физика включина, иначе FALSE
 */
void PhysicObject::setPhysicEnabled(bool value){
	if (PhysicEnabled==value)
		return;
	PhysicEnabled=on_setPhysic(value);
}

/***
 * Возвращяет включина ли физика
 *
 * @return TRUE если физика включина, иначе FALSE
 */
bool PhysicObject::isPhysicEnabled(){
	return PhysicEnabled;
}

/***
 * Прыжок
 *
 * @param force сила прыжка
 */
void PhysicObject::jump(irr::f32 force){
	if (!isPhysicEnabled())
		on_jump(force);
}

irr::core::stringc PhysicObject::getSerializationNodeName(){
	return "object:physic";
}

void PhysicObject::getSerialized(irr::xml::IXmlNode*node){
	node->setAttBool("physic-enabled",isPhysicEnabled());
}

irr::xml::TagResult PhysicObject::setSerialized(irr::xml::IXmlNode*node){
	setPhysicEnabled(node->getAttBool("physic-enabled",false));
	return irr::xml::NEXT;
}

}//namespace object
}//namespace irr
